package com.zx.tfw.entity;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO;

/**
 * @Project: tfw
 * @Title: TechnicalFramework
 * @Description: 技术框架
 * @author: xue.zhang
 * @date: 2019年1月28日下午5:18:52
 * @company: alibaba
 * @Copyright: Copyright (c) 2017
 * @version v1.0
 */
@Entity
public class TechnicalFramework {
	/**
	 * 主键id
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;

	/**
	 * 名称缩写
	 */
	private String nameAcronym;
	/**
	 * 英文名称
	 */
	private String nameEn;
	/**
	 * 中文名称
	 */
	private String nameZh;
	/**
	 * 开始出现时间
	 */
	@DateTimeFormat(iso = ISO.DATE)
	private Date beginTime;
	/**
	 * 最近更新时间
	 */
	@DateTimeFormat(iso = ISO.DATE)
	private Date lastUpdateTime;
	/**
	 * 操作系统,1=跨平台,2=linux,3=mac,4=window
	 */
	private Integer osCode;
	/**
	 * 授权协议,1=apache
	 */
	private Integer licenseCode;
	/**
	 * 开发语言,1=java
	 */
	private Integer languageCode;
	/**
	 * 技术标签,多个以逗号分开
	 */
	private Integer tagsCode;
	/**
	 * 开发厂商
	 */
	private Integer manufacturerCode;
	/**
	 * 技术分类
	 */
	private Integer typeCode;
	/**
	 * 技术熟练度,1=知道技术,2=简单使用,3=熟练使用,4=熟悉原理,5=熟读源码
	 */
	private Integer skilledCode;
	/**
	 * 技术所属国家
	 */
	private Integer countryCode;
	/**
	 * 内容提交时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**
	 * 源码地址,如git地址
	 */
	private String sourcesUrl;
	/**
	 * 官方地址
	 */
	private String uccnUrl;
	/**
	 * 描述
	 */
	private String desction;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 潮流度,1~10级
	 */
	private Integer popular;
	/**
	 * 论坛活跃度,1~10级
	 */
	private Integer forum;
	/**
	 * 论坛网址,多个以逗号分开
	 */
	private String forumUrl;
	/**
	 * 是否开源,1=开源,0=未开源
	 */
	private Integer openSources;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNameAcronym() {
		return nameAcronym;
	}

	public void setNameAcronym(String nameAcronym) {
		this.nameAcronym = nameAcronym;
	}

	public String getNameEn() {
		return nameEn;
	}

	public void setNameEn(String nameEn) {
		this.nameEn = nameEn;
	}

	public String getNameZh() {
		return nameZh;
	}

	public void setNameZh(String nameZh) {
		this.nameZh = nameZh;
	}

	public Date getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	public Date getLastUpdateTime() {
		return lastUpdateTime;
	}

	public void setLastUpdateTime(Date lastUpdateTime) {
		this.lastUpdateTime = lastUpdateTime;
	}

	public Integer getOsCode() {
		return osCode;
	}

	public void setOsCode(Integer osCode) {
		this.osCode = osCode;
	}

	public Integer getLicenseCode() {
		return licenseCode;
	}

	public void setLicenseCode(Integer licenseCode) {
		this.licenseCode = licenseCode;
	}

	public Integer getLanguageCode() {
		return languageCode;
	}

	public void setLanguageCode(Integer languageCode) {
		this.languageCode = languageCode;
	}

	public Integer getTagsCode() {
		return tagsCode;
	}

	public void setTagsCode(Integer tagsCode) {
		this.tagsCode = tagsCode;
	}

	public Integer getManufacturerCode() {
		return manufacturerCode;
	}

	public void setManufacturerCode(Integer manufacturerCode) {
		this.manufacturerCode = manufacturerCode;
	}

	public Integer getTypeCode() {
		return typeCode;
	}

	public void setTypeCode(Integer typeCode) {
		this.typeCode = typeCode;
	}

	public Integer getSkilledCode() {
		return skilledCode;
	}

	public void setSkilledCode(Integer skilledCode) {
		this.skilledCode = skilledCode;
	}

	public Integer getCountryCode() {
		return countryCode;
	}

	public void setCountryCode(Integer countryCode) {
		this.countryCode = countryCode;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getSourcesUrl() {
		return sourcesUrl;
	}

	public void setSourcesUrl(String sourcesUrl) {
		this.sourcesUrl = sourcesUrl;
	}

	public String getUccnUrl() {
		return uccnUrl;
	}

	public void setUccnUrl(String uccnUrl) {
		this.uccnUrl = uccnUrl;
	}

	public String getDesction() {
		return desction;
	}

	public void setDesction(String desction) {
		this.desction = desction;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getPopular() {
		return popular;
	}

	public void setPopular(Integer popular) {
		this.popular = popular;
	}

	public Integer getForum() {
		return forum;
	}

	public void setForum(Integer forum) {
		this.forum = forum;
	}

	public String getForumUrl() {
		return forumUrl;
	}

	public void setForumUrl(String forumUrl) {
		this.forumUrl = forumUrl;
	}

	public Integer getOpenSources() {
		return openSources;
	}

	public void setOpenSources(Integer openSources) {
		this.openSources = openSources;
	}

	@Override
	public String toString() {
		return "TechnicalFramework [id=" + id + ", nameAcronym=" + nameAcronym + ", nameEn=" + nameEn + ", nameZh="
				+ nameZh + ", beginTime=" + beginTime + ", lastUpdateTime=" + lastUpdateTime + ", osCode=" + osCode
				+ ", licenseCode=" + licenseCode + ", languageCode=" + languageCode + ", tagsCode=" + tagsCode
				+ ", manufacturerCode=" + manufacturerCode + ", typeCode=" + typeCode + ", skilledCode=" + skilledCode
				+ ", countryCode=" + countryCode + ", createTime=" + createTime + ", sourcesUrl=" + sourcesUrl
				+ ", uccnUrl=" + uccnUrl + ", desction=" + desction + ", remark=" + remark + ", popular=" + popular
				+ ", forum=" + forum + ", forumUrl=" + forumUrl + ", openSources=" + openSources + "]";
	}
}